/**
 * 测试 引用类型 的 参数传递
 */

function change(h) {
    if (h.gender === '男') {
        h.gender = '女';
        return; // 一旦修改成功则让函数立即结束
    }
    if (h.gender === '女') {
        h.gender = '男';
        return; // 一旦修改成功则让函数立即结束
    }
}

function operate() {
    let x = {
        id: 1001,
        name: '金某',
        gender: '男'
    }
    console.log('before change : gender = ', x.gender);
    change(x); //变量x中存的是实例在堆栈中地址，所以传过去的是一个地址值。
    console.log('after change : gender = ', x.gender);
}

operate();